In operation and management of an IT system, it is important to understand configuration information of components of the system such as a server, software, a device and a network. The configuration information of the system is collected and stored in a configuration information database, which enables utilization of it for identifying cause for failure, analyzing performance bottleneck, managing availability and so forth. Not only information of the components of the system but also information of dependency relationship between the components needs to be stored in the configuration information database.
In recent years, an increasing number of systems have a virtual server as a component, and it is necessary to manage the configuration information of the system including the virtual server. Such a virtual server is generated and executed by a server virtualization function and runs on a physical server on which the server virtualization function is installed. A system user and application software (hereinafter referred to as an application) running on a server can utilize the virtual server without regard to a difference between the virtual server and the physical server. However, since a virtual server exists on a certain physical server, there is a dependency relationship between the virtual server and the physical server. Therefore, such a system needs to be provided with a function of identifying the dependency relationship between the virtual server and the physical server.
However, it is impossible from a viewpoint of nature of the virtual server to externally and directly identify the dependency relationship between the virtual server and the physical server. Since the virtual server is configured to behave in the same manner as the physical server, an operating system (hereinafter referred to as an OS) and an application running on the virtual server cannot recognize that they are running on the virtual server. Therefore, the relevant physical server cannot be identified based on information collected from the OS and the application running on the virtual server.
Meanwhile, information indicating that the virtual server is running on the server virtualization function can be obtained from information of the server virtualization function of the physical server. However, it is usually impossible to identify which virtual server is the virtual server running on the server virtualization function. The reason is that information of the virtual server that can be obtained through the server virtualization function is for discriminating virtual servers in the server virtualization function and thus the configuration information of the OS and the application running on the virtual server cannot be referred to. Although such a method that logs-in the virtual server to collect information may be considered, it requires a user account of the OS running on the virtual server. Since a log-in means varies depending on the OS running on the virtual server, automation is difficult. Moreover, automation of the log-in processing is not desirable from a viewpoint of security management. It is therefore hard to identify the OS and the application running on the virtual server based on information collected from the physical server.
In operation and management of a system having a plurality of physical servers and a virtual server, a technique such as a server virtualization integrated management function as described in Non-Patent Literature 1 is generally used in order to achieve integrated management of the server virtualization function. According to the server virtualization integrated management function described in Non-Patent Literature 1, operations executed on the server virtualization function such as start and stop of a virtual server and migration (operation of migrating and converting programs and data) all are recorded and thereby it is possible to recognize which virtual server is currently running on which physical server.
However, according to the conventional method such as the server virtualization integrated management function described in Non-Patent Literature 1, all operations with respect to a virtual machine must be performed through the server virtualization integrated management function. In a case where an operation of the virtual machine is executed without using the server virtualization integrated management function and in a case where a virtual server is added due to integration with another system, it is necessary to newly set up the server virtualization function. Such the job is complicated in a case where the executed operation is complicated and in a case where a large number of physical servers and virtual servers are added/deleted. Moreover, since the server virtualization integrated management function can only collect the configuration information of a specific server virtualization function, it is not possible to manage information of a virtual server generated by another server virtualization function.
As a related technique, Japanese Patent Publication JP-2008-242766 (Patent Literature 1) discloses a process control system. According to this related technique, a virtual server providing services is constituted by a plurality of physical servers in the process control system. At least one physical server receives, from a console terminal, node list information indicating a correspondence relationship between a virtual server and a physical server constituting it and service list information indicating a correspondence relationship between a virtual server and a service provided by it, to generate an allocation table that defines allocation of a service to a physical server. Then, the allocation table is recorded on a shared database of a database server that is referable from all the physical servers. A physical server refers to the allocation table when activating a service process.
Japanese Patent Publication JP-2008-059599 (Patent Literature 2) discloses a method of allocating virtualized resource and an execution system thereof. According to this related technique, in a method for arranging a program in a resource that is suitable for the operation condition of the program, management information indicating a state about performance and capacity of each resource is collected and managed, configuration management information of each resource is maintained and managed by referring to the management information, the configuration management information including identification information of a resource used by each business application is referred to, the configuration management information of the resource identified by the identification information is read out from the configuration management information of each resource, and thereby business application information indicating a correspondence relationship between the configuration management information of the business application and the configuration management information of the searched resource is generated. If the configuration management information of the resource matches a rule for detecting resource failure of the corresponding business application, information indicating occurrence of the resource failure in the business application is output.
Japanese Patent Publication JP-2007-272263 (Patent Literature 3) discloses a method of managing a computer, a computer system and a management program. According to this related technique, a method of managing a computer in a computer system equipped with a plurality of physical computers; a plurality of virtual computers running on the physical computers; a management computer connected through a network to the physical computers, is characterized by including: receiving designation of processing performance allocated with respect to each group; collecting processing performance of the physical computers; and allocating the designated processing performance of the group to the virtual computers belonging to the group on the basis of the collected processing performance of the physical computers.
Japanese Patent Publication JP-2006-519423 (Patent Literature 4) discloses dynamic service registry for a virtual machine. This related technique is as follows. A traditional registry, such as a global UDDI (Universal Description, Discovery, and Integration) server, is not designed to accommodate transitory devices, e.g., devices that may frequently attach and detach from a network, often-times without warning, such as virtual machines offering or desiring services that are periodically instantiated and then suspended or destroyed. To accommodate such transitory devices, a dynamic resource/service registry may be implemented that leverages lower-level protocols or state to determine appropriate registry updates to keep the registry state consistent with currently-active virtual machines. For example, a virtual machine monitor (VMM) may track creation and suspension or deletion of a virtual machine (VM), and resources advertised by the VM, where the VMM appropriately adds or removes registry entries for the VM as the state of the VM changes or provides hooks (e.g. notifications) or other instrumentation based on said state or protocols to enable other associated modules or agents (e.g. management modules or the registry) to take appropriate actions.